--[[
模块   : viewcontroller切换模块
]]
CtrlSwitch = Class('CtrlSwitch');  -- 定义一个类

CtrlSwitch.Animat_No =  1;
CtrlSwitch.Animat_Translate =  2;


-- 定义全局变量


--[[
功能   ： viewcontroller入栈切换
参数   ： rootView -- 根view默认高宽是nav根view高宽
curCtrl  -- 当前ctrl
nextCtrl -- 下一个 ctrl
curCtrl  -- 动画类型
返回   ： 无
]]
function CtrlSwitch.push(rootView, curCtrl, nextCtrl, animationType)
	animationType = animationType or  CtrlSwitch.Animat_Translate;   -- 默认左右移动
	if  animationType == CtrlSwitch.Animat_No  then
		rootView:add(nextCtrl.rootView);
	elseif animationType == CtrlSwitch.Animat_Translate then
		local w, h = rootView:getWH();
		rootView:add(nextCtrl.rootView,w,0);		
		MLNative.genAnimate(
		function ()
	       curCtrl.rootView:setXY(0, 0);
		end, 200);
		nextCtrl.rootView:setXY(0, 0);
		curCtrl.rootView:setXY(-w/4, 0);
		MLNative.doAnimate();
	end
end

--[[
功能   ： viewcontroller出站切换
参数   ： rootView-- 根view默认高宽是nav根view高宽
curCtrl  -``- 当前ctrl
nextCtrl -- 下一个 ctrl
curCtrl  -- 动画类型
返回   ： 无
]]
function CtrlSwitch.pop(rootView, curCtrl, nextCtrl, animationType)
	animationType = animationType or  CtrlSwitch.Animat_Translate;   -- 默认左右移动
	if  animationType == CtrlSwitch.Animat_No then
		rootView:del(curCtrl.rootView);
	elseif animationType == CtrlSwitch.Animat_Translate then
		local w, h = rootView:getWH();
		rootView:add(nextCtrl.rootView,-w,0);
		MLNative.genAnimate(
		function (  )
			curCtrl.rootView:delAll();
			rootView:del(curCtrl.rootView);
			curCtrl.rootView=nil;
		end, 200
		);
		curCtrl.rootView:setXY(w/4, 0);
		nextCtrl.rootView:setXY(0, 0);
		MLNative.doAnimate();
	end
end





